package com.learn.aop.model;

import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @description:    java类作用描述
 * @author:         MI
 * @email:          448341911@qq.com
 * @createTime:     2024/1/7 22:07
 * @updateUser:     cong zhi
 * @updateTime:     2024/1/7 22:07
 * @updateRemark:   修改内容
 * @version:        v1.0
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ProxyMetaDefinition {

    private String id;

    private String proxyUrl;

    private String proxyClassName;

    private String pointcut;


    public static void main(String[] args) {
        ProxyMetaDefinition proxyMetaInfo = ProxyMetaDefinition.builder()
//                .proxyUrl("http://localhost:8081/repository/maven-snapshots/com/github/lybgeek/springboot-aop-plugin-timecost/1.0-SNAPSHOT/springboot-aop-plugin-timecost-1.0-20230824.024753-1.jar")
                .proxyUrl("jar:file:D:/Learn/Source/Spring-Boot-learning/spring-boot-starter-aop-plugin/target/springboot-starter-aop-plugin-0.0.1-SNAPSHOT.jar!/")
                .proxyClassName("com.learn.aop.interceptor.TimeCostMethodInterceptor")
                .pointcut("execution (* com.learn.aop.test.hello.service.HelloService.*(..))")
                .id("timeCostEchoService")
                .build();
        System.out.println(JSONUtil.toJsonStr(proxyMetaInfo));

    }

}
